Blueprint Help Send comments on this topic.
Variable Fidelity Torus

Glossary Item Box

Variable Fidelity Torus

The Variable Fidelity Torus defines a simple Torus (doughnut). This torus is facetted into small triangles and a bump-mapped logo is overlaid on the facetted surface. The Torus is smoothly rotated about its axes and redrawn as fast as possible, whilst the light source is also moved to vary the lighting. The program can operate in 1 of two modes

  1. Preserve frame rate - increase/decrease the fidelity of the surface (number/size of triangles).
  2. Fix the number of triangles - increase/decrease the frame rate to a maximum.

The interesting part of the application is that is farms out the graphics jobs to all of the connected slaves (which may come and go). Thus as more slaves are added/removed, the process performance increases/decreases and thus the Torus granularity is modified accordingly.

NB. Due to the small granularity of the graphic jobs, each slave repeats its task a pre-defined number of times.

1 Slave


EnlargeClick to enlarge

4 Slaves


EnlargeClick to enlarge

CDL Solution


EnlargeClick to enlarge
 

The Ctrl Method reads the Torus data and generates a number of jobs, the size of the jobs depends on the granularity of the torus. The Processing Method is reentrant (and slaveable). Thus the jobs are shared between any available slaves. When a complete picture is received by the GUI via Results Callback, the Go semaphore is hit to restart the next Ctrl Job generation.

The job queue is managed by collecting all of the available buffers from the Job store. If the number of actual jobs is less than the maximum, then the extra buffers are aborted. 

The GUI runs a timer function which monitor performance and adjusts the Torus granularity accordingly. 

NB. When executing the VFD application requires two ini files to be located in the executable directory. The textures.ini file contains file descriptors for two bitmap files. these need to be specified as absolute directory paths. All of the textures and ini files are included in the downloadable solution package.

The Variable Fidelity Torus solution is available as a MSVisual Studio 2005 solution package from the Connective Logic Web site.